/*! \file SimpleResourceManager.h
 *	\brief <write description for SimpleResourceManager.h>
 *
 *	created:	2010/07/27
 *	created:	27:7:2010   17:05
 *	filename: 	C:\src\tactics-engine\libs\rm\SimpleResourceManager.h
 *	file path:	C:\src\tactics-engine\libs\rm
 *	file base:	SimpleResourceManager
 *	file ext:	h
 *	author:		Vitalii Trubchaninov
 *				venngraydog@gmail.com
 */

#ifndef _rm_SIMPLERESOURCEMANAGER_H_
#define _rm_SIMPLERESOURCEMANAGER_H_

#pragma once

#include "defs.h"
#include "ResourceManager.h"

namespace tt{

namespace io{
class BaseFileSystem;
} //namespace io

namespace rm{

#if defined(TT_WIN32)
#pragma warning(push)
#pragma warning(disable:4251)
#endif

class RM_API SimpleResourceManager : public ResourceManager
{
public:
	SimpleResourceManager(const SharedPtr<io::BaseFileSystem>&);
	virtual ~SimpleResourceManager();

private:
	virtual SharedPtr<io::BaseIStream> OnGetStream(const String&);

private:
	SharedPtr<io::BaseFileSystem> m_fs;
};

#if defined(TT_WIN32)
#pragma warning(pop)
#endif

} //namespace rm
} //namespace tt

#endif //_rm_SIMPLERESOURCEMANAGER_H_